opt subtitle "HI-TECH Software Omniscient Code Generator (PRO mode) build 10920"

opt pagewidth 120

	opt pm

	processor	16F886
clrc	macro
	bcf	3,0
	endm
clrz	macro
	bcf	3,2
	endm
setc	macro
	bsf	3,0
	endm
setz	macro
	bsf	3,2
	endm
skipc	macro
	btfss	3,0
	endm
skipz	macro
	btfss	3,2
	endm
skipnc	macro
	btfsc	3,0
	endm
skipnz	macro
	btfsc	3,2
	endm
indf	equ	0
indf0	equ	0
pc	equ	2
pcl	equ	2
status	equ	3
fsr	equ	4
fsr0	equ	4
c	equ	1
z	equ	0
pclath	equ	10
# 13 "main.c"
	psect config,class=CONFIG,delta=2 ;#
# 13 "main.c"
	dw 0xF7FF & 0xFFDF & 0xEFFF & 0xFFFF & 0xFFF7 & 0xFFFC ;#
	FNCALL	_main,_Init_Device
	FNCALL	_main,_SysTime
	FNCALL	_main,_App
	FNCALL	_Init_Device,_Out_Init
	FNCALL	_Init_Device,_SysClock_Init
	FNROOT	_main
	FNCALL	_ISR,_UART_Receiver
	FNCALL	intlevel1,_ISR
	global	intlevel1
	FNROOT	intlevel1
	global	SysTime@Divider_100ms
	global	SysTime@Divider_1Sec
	global	SysTime@Divider_500ms
	global	SysTime@Divider_5Sec
psect	idataBANK0,class=CODE,space=0,delta=2
global __pidataBANK0
__pidataBANK0:
	file	"SysClock.c"
	line	25

;initializer for SysTime@Divider_100ms
	retlw	0Ah

;initializer for SysTime@Divider_1Sec
	retlw	02h

;initializer for SysTime@Divider_500ms
psect	idataCOMMON,class=CODE,space=0,delta=2
global __pidataCOMMON
__pidataCOMMON:
	retlw	032h

;initializer for SysTime@Divider_5Sec
	retlw	05h
	global	_table
psect	strings,class=STRING,delta=2
global __pstrings
__pstrings:
;	global	stringdir,stringtab,__stringbase
stringtab:
;	String table - string pointers are 1 byte each
stringcode:stringdir:
movlw high(stringdir)
movwf pclath
movf fsr,w
incf fsr
	addwf pc
__stringbase:
	retlw	0
psect	strings
	file	"App.c"
	line	30
_table:
	retlw	0
	retlw	0

	retlw	01h
	retlw	0

	retlw	01Eh
	retlw	0

	retlw	0Bh
	retlw	0

	retlw	078h
	retlw	0

	retlw	013h
	retlw	0

	retlw	0D2h
	retlw	0

	retlw	023h
	retlw	0

	retlw	02Ch
	retlw	01h

	retlw	043h
	retlw	0

	retlw	086h
	retlw	01h

	retlw	083h
	retlw	0

	retlw	0E0h
	retlw	01h

	retlw	03h
	retlw	01h

	retlw	03Ah
	retlw	02h

	retlw	03h
	retlw	02h

	retlw	094h
	retlw	02h

	retlw	03h
	retlw	04h

	retlw	0EEh
	retlw	02h

	retlw	03h
	retlw	08h

	retlw	048h
	retlw	03h

	retlw	03h
	retlw	010h

	retlw	0A2h
	retlw	03h

	retlw	03h
	retlw	020h

	retlw	0FCh
	retlw	03h

	retlw	0
	retlw	0

	retlw	0E4h
	retlw	07h

	retlw	0Bh
	retlw	0

	retlw	03Eh
	retlw	08h

	retlw	013h
	retlw	0

	retlw	098h
	retlw	08h

	retlw	023h
	retlw	0

	retlw	0F2h
	retlw	08h

	retlw	043h
	retlw	0

	retlw	04Ch
	retlw	09h

	retlw	083h
	retlw	0

	retlw	0A6h
	retlw	09h

	retlw	03h
	retlw	01h

	retlw	0
	retlw	0Ah

	retlw	03h
	retlw	02h

	retlw	05Ah
	retlw	0Ah

	retlw	03h
	retlw	04h

	retlw	0B4h
	retlw	0Ah

	retlw	03h
	retlw	08h

	retlw	0Eh
	retlw	0Bh

	retlw	03h
	retlw	010h

	retlw	068h
	retlw	0Bh

	retlw	03h
	retlw	020h

	retlw	0C2h
	retlw	0Bh

	retlw	07h
	retlw	0

	retlw	0D6h
	retlw	0Bh

	retlw	0
	retlw	0

	global	_table
	global	_UART_Receive_Buffer
	global	_tcnt
	global	_app_state
	global	_pUART_Receive_Buffer
	global	_step
	global	_TimeI_10ms
	global	_Time_100ms
	global	_Time_500ms
	global	_UART_Receive_Complete
	global	_PORTA
_PORTA	set	5
	global	_PORTB
_PORTB	set	6
	global	_PORTC
_PORTC	set	7
	global	_PORTE
_PORTE	set	9
	global	_RCREG
_RCREG	set	26
	global	_RCSTA
_RCSTA	set	24
	global	_TMR0
_TMR0	set	1
	global	_GIE
_GIE	set	95
	global	_PEIE
_PEIE	set	94
	global	_RA0
_RA0	set	40
	global	_RA1
_RA1	set	41
	global	_RA2
_RA2	set	42
	global	_RA3
_RA3	set	43
	global	_RA6
_RA6	set	46
	global	_RA7
_RA7	set	47
	global	_RB0
_RB0	set	48
	global	_RB1
_RB1	set	49
	global	_RB2
_RB2	set	50
	global	_RB3
_RB3	set	51
	global	_RB4
_RB4	set	52
	global	_RB5
_RB5	set	53
	global	_RB6
_RB6	set	54
	global	_RB7
_RB7	set	55
	global	_RC0
_RC0	set	56
	global	_RC2
_RC2	set	58
	global	_RCIF
_RCIF	set	101
	global	_T0IE
_T0IE	set	93
	global	_T0IF
_T0IF	set	90
	global	_OPTION_REG
_OPTION_REG	set	129
	global	_OSCCON
_OSCCON	set	143
	global	_SPBRG
_SPBRG	set	153
	global	_TXSTA
_TXSTA	set	152
	global	_RCIE
_RCIE	set	1125
	global	_TRISA0
_TRISA0	set	1064
	global	_TRISA1
_TRISA1	set	1065
	global	_TRISA2
_TRISA2	set	1066
	global	_TRISA3
_TRISA3	set	1067
	global	_TRISA6
_TRISA6	set	1070
	global	_TRISA7
_TRISA7	set	1071
	global	_TRISB0
_TRISB0	set	1072
	global	_TRISB1
_TRISB1	set	1073
	global	_TRISB2
_TRISB2	set	1074
	global	_TRISB3
_TRISB3	set	1075
	global	_TRISB4
_TRISB4	set	1076
	global	_TRISB5
_TRISB5	set	1077
	global	_TRISB6
_TRISB6	set	1078
	global	_TRISB7
_TRISB7	set	1079
	global	_TRISC0
_TRISC0	set	1080
	global	_TRISC2
_TRISC2	set	1082
	global	_TRISC6
_TRISC6	set	1086
	global	_TRISC7
_TRISC7	set	1087
	global	_CM2CON0
_CM2CON0	set	264
	global	_CM2CON1
_CM2CON1	set	265
	global	_ANSEL
_ANSEL	set	392
	global	_ANSELH
_ANSELH	set	393
	file	"c15_rUnversioned.as"
	line	#
psect cinit,class=CODE,delta=2
global start_initialization
start_initialization:

psect	bitbssCOMMON,class=COMMON,bit,space=1
global __pbitbssCOMMON
__pbitbssCOMMON:
_TimeI_10ms:
       ds      1

_Time_100ms:
       ds      1

_Time_500ms:
       ds      1

_UART_Receive_Complete:
       ds      1

psect	bssCOMMON,class=COMMON,space=1
global __pbssCOMMON
__pbssCOMMON:
_app_state:
       ds      1

_pUART_Receive_Buffer:
       ds      1

_step:
       ds      1

psect	dataCOMMON,class=COMMON,space=1
global __pdataCOMMON
__pdataCOMMON:
	file	"SysClock.c"
	line	25
SysTime@Divider_500ms:
       ds      1

psect	dataCOMMON
	file	"SysClock.c"
SysTime@Divider_5Sec:
       ds      1

psect	bssBANK0,class=BANK0,space=1
global __pbssBANK0
__pbssBANK0:
_UART_Receive_Buffer:
       ds      32

_tcnt:
       ds      2

psect	dataBANK0,class=BANK0,space=1
global __pdataBANK0
__pdataBANK0:
	file	"SysClock.c"
SysTime@Divider_100ms:
       ds      1

psect	dataBANK0
	file	"SysClock.c"
SysTime@Divider_1Sec:
       ds      1

psect clrtext,class=CODE,delta=2
global clear_ram
;	Called with FSR containing the base address, and
;	W with the last address+1
clear_ram:
	clrwdt			;clear the watchdog before getting into this loop
clrloop:
	clrf	indf		;clear RAM location pointed to by FSR
	incf	fsr,f		;increment pointer
	xorwf	fsr,w		;XOR with final address
	btfsc	status,2	;have we reached the end yet?
	retlw	0		;all done for this memory range, return
	xorwf	fsr,w		;XOR again to restore value
	goto	clrloop		;do the next byte

; Clear objects allocated to BITCOMMON
psect cinit,class=CODE,delta=2
	clrf	((__pbitbssCOMMON/8)+0)&07Fh
; Clear objects allocated to COMMON
psect cinit,class=CODE,delta=2
	clrf	((__pbssCOMMON)+0)&07Fh
	clrf	((__pbssCOMMON)+1)&07Fh
	clrf	((__pbssCOMMON)+2)&07Fh
; Clear objects allocated to BANK0
psect cinit,class=CODE,delta=2
	bcf	status, 7	;select IRP bank0
	movlw	low(__pbssBANK0)
	movwf	fsr
	movlw	low((__pbssBANK0)+022h)
	fcall	clear_ram
; Initialize objects allocated to BANK0
	global __pidataBANK0
psect cinit,class=CODE,delta=2
	fcall	__pidataBANK0+0		;fetch initializer
	movwf	__pdataBANK0+0&07fh		
	fcall	__pidataBANK0+1		;fetch initializer
	movwf	__pdataBANK0+1&07fh		
; Initialize objects allocated to COMMON
	global __pidataCOMMON
psect cinit,class=CODE,delta=2
	fcall	__pidataCOMMON+0		;fetch initializer
	movwf	__pdataCOMMON+0&07fh		
	fcall	__pidataCOMMON+1		;fetch initializer
	movwf	__pdataCOMMON+1&07fh		
psect cinit,class=CODE,delta=2
global end_of_initialization

;End of C runtime variable initialization code

end_of_initialization:
clrf status
ljmp _main	;jump to C main() function
psect	cstackCOMMON,class=COMMON,space=1
global __pcstackCOMMON
__pcstackCOMMON:
	global	?_Init_Device
?_Init_Device:	; 0 bytes @ 0x0
	global	?_SysTime
?_SysTime:	; 0 bytes @ 0x0
	global	?_App
?_App:	; 0 bytes @ 0x0
	global	?_UART_Receiver
?_UART_Receiver:	; 0 bytes @ 0x0
	global	??_UART_Receiver
??_UART_Receiver:	; 0 bytes @ 0x0
	global	?_Out_Init
?_Out_Init:	; 0 bytes @ 0x0
	global	?_main
?_main:	; 0 bytes @ 0x0
	global	?_SysClock_Init
?_SysClock_Init:	; 0 bytes @ 0x0
	global	?_ISR
?_ISR:	; 0 bytes @ 0x0
	global	UART_Receiver@Rec_Byte
UART_Receiver@Rec_Byte:	; 1 bytes @ 0x0
	ds	1
	global	??_ISR
??_ISR:	; 0 bytes @ 0x1
	ds	4
psect	cstackBANK0,class=BANK0,space=1
global __pcstackBANK0
__pcstackBANK0:
	global	??_Init_Device
??_Init_Device:	; 0 bytes @ 0x0
	global	??_SysTime
??_SysTime:	; 0 bytes @ 0x0
	global	??_App
??_App:	; 0 bytes @ 0x0
	global	??_Out_Init
??_Out_Init:	; 0 bytes @ 0x0
	global	??_SysClock_Init
??_SysClock_Init:	; 0 bytes @ 0x0
	ds	3
	global	??_main
??_main:	; 0 bytes @ 0x3
;;Data sizes: Strings 0, constant 104, data 4, bss 37, persistent 0 stack 0
;;Auto spaces:   Size  Autos    Used
;; COMMON          14      5      11
;; BANK0           80      3      39
;; BANK1           80      0       0
;; BANK3           96      0       0
;; BANK2           96      0       0

;;
;; Pointer list with targets:



;;
;; Critical Paths under _main in COMMON
;;
;;   None.
;;
;; Critical Paths under _ISR in COMMON
;;
;;   _ISR->_UART_Receiver
;;
;; Critical Paths under _main in BANK0
;;
;;   _main->_App
;;
;; Critical Paths under _ISR in BANK0
;;
;;   None.
;;
;; Critical Paths under _main in BANK1
;;
;;   None.
;;
;; Critical Paths under _ISR in BANK1
;;
;;   None.
;;
;; Critical Paths under _main in BANK3
;;
;;   None.
;;
;; Critical Paths under _ISR in BANK3
;;
;;   None.
;;
;; Critical Paths under _main in BANK2
;;
;;   None.
;;
;; Critical Paths under _ISR in BANK2
;;
;;   None.

;;
;;Main: autosize = 0, tempsize = 0, incstack = 0, save=0
;;

;;
;;Call Graph Tables:
;;
;; ---------------------------------------------------------------------------------
;; (Depth) Function   	        Calls       Base Space   Used Autos Params    Refs
;; ---------------------------------------------------------------------------------
;; (0) _main                                                 0     0      0       0
;;                        _Init_Device
;;                            _SysTime
;;                                _App
;; ---------------------------------------------------------------------------------
;; (1) _Init_Device                                          0     0      0       0
;;                           _Out_Init
;;                      _SysClock_Init
;; ---------------------------------------------------------------------------------
;; (2) _Out_Init                                             0     0      0       0
;; ---------------------------------------------------------------------------------
;; (2) _SysClock_Init                                        0     0      0       0
;; ---------------------------------------------------------------------------------
;; (1) _App                                                  3     3      0       0
;;                                              0 BANK0      3     3      0
;; ---------------------------------------------------------------------------------
;; (1) _SysTime                                              0     0      0       0
;; ---------------------------------------------------------------------------------
;; Estimated maximum stack depth 2
;; ---------------------------------------------------------------------------------
;; (Depth) Function   	        Calls       Base Space   Used Autos Params    Refs
;; ---------------------------------------------------------------------------------
;; (3) _ISR                                                  4     4      0      30
;;                                              1 COMMON     4     4      0
;;                      _UART_Receiver
;; ---------------------------------------------------------------------------------
;; (4) _UART_Receiver                                        1     1      0      30
;;                                              0 COMMON     1     1      0
;; ---------------------------------------------------------------------------------
;; Estimated maximum stack depth 4
;; ---------------------------------------------------------------------------------

;; Call Graph Graphs:

;; _main (ROOT)
;;   _Init_Device
;;     _Out_Init
;;     _SysClock_Init
;;   _SysTime
;;   _App
;;
;; _ISR (ROOT)
;;   _UART_Receiver
;;

;; Address spaces:

;;Name               Size   Autos  Total    Cost      Usage
;;BANK3               60      0       0       9        0.0%
;;BITBANK3            60      0       0       8        0.0%
;;SFR3                 0      0       0       4        0.0%
;;BITSFR3              0      0       0       4        0.0%
;;BANK2               60      0       0      11        0.0%
;;BITBANK2            60      0       0      10        0.0%
;;SFR2                 0      0       0       5        0.0%
;;BITSFR2              0      0       0       5        0.0%
;;SFR1                 0      0       0       2        0.0%
;;BITSFR1              0      0       0       2        0.0%
;;BANK1               50      0       0       7        0.0%
;;BITBANK1            50      0       0       6        0.0%
;;CODE                 0      0       0       0        0.0%
;;DATA                 0      0      38      12        0.0%
;;ABS                  0      0      32       3        0.0%
;;NULL                 0      0       0       0        0.0%
;;STACK                0      0       6       2        0.0%
;;BANK0               50      3      27       5       48.8%
;;BITBANK0            50      0       0       4        0.0%
;;SFR0                 0      0       0       1        0.0%
;;BITSFR0              0      0       0       1        0.0%
;;COMMON               E      5       B       1       78.6%
;;BITCOMMON            E      0       1       0        7.1%
;;EEDATA             100      0       0       0        0.0%

	global	_main
psect	maintext,global,class=CODE,delta=2
global __pmaintext
__pmaintext:

;; *************** function _main *****************
;; Defined at:
;;		line 18 in file "main.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack
;; Tracked objects:
;;		On entry : 17F/0
;;		On exit  : 0/0
;;		Unchanged: FFE00/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          0       0       0       0       0
;;      Totals:         0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels required when called:    4
;; This function calls:
;;		_Init_Device
;;		_SysTime
;;		_App
;; This function is called by:
;;		Startup code after reset
;; This function uses a non-reentrant model
;;
psect	maintext
	file	"main.c"
	line	18
	global	__size_of_main
	__size_of_main	equ	__end_of_main-_main
	
_main:	
	opt	stack 4
; Regs used in _main: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack]
	line	19
	
l9425:	
	fcall	_Init_Device
	line	22
	
l973:	
	line	23
	fcall	_SysTime
	line	25
	
l9427:	
	fcall	_App
	line	27
	goto	l973
	global	start
	ljmp	start
	opt stack 0
psect	maintext
	line	28
GLOBAL	__end_of_main
	__end_of_main:
;; =============== function _main ends ============

	signat	_main,88
	global	_Init_Device
psect	text258,local,class=CODE,delta=2
global __ptext258
__ptext258:

;; *************** function _Init_Device *****************
;; Defined at:
;;		line 14 in file "Init.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, status,2, status,0, pclath, cstack
;; Tracked objects:
;;		On entry : 17F/0
;;		On exit  : 60/0
;;		Unchanged: FFE00/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          0       0       0       0       0
;;      Totals:         0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    3
;; This function calls:
;;		_Out_Init
;;		_SysClock_Init
;; This function is called by:
;;		_main
;; This function uses a non-reentrant model
;;
psect	text258
	file	"Init.c"
	line	14
	global	__size_of_Init_Device
	__size_of_Init_Device	equ	__end_of_Init_Device-_Init_Device
	
_Init_Device:	
	opt	stack 4
; Regs used in _Init_Device: [wreg+status,2+status,0+pclath+cstack]
	line	15
	
l9395:	
	clrf	(5)	;volatile
	line	16
	clrf	(6)	;volatile
	line	17
	clrf	(7)	;volatile
	line	18
	clrf	(9)	;volatile
	line	21
	bsf	status, 6	;RP1=1, select bank2
	clrf	(264)^0100h	;volatile
	line	22
	clrf	(265)^0100h	;volatile
	line	24
	bsf	status, 5	;RP0=1, select bank3
	clrf	(392)^0180h	;volatile
	line	25
	clrf	(393)^0180h	;volatile
	line	27
	
l9397:	
	movlw	(070h)
	bcf	status, 6	;RP1=0, select bank1
	movwf	(143)^080h	;volatile
	line	29
	
l9399:	
	bcf	(1082/8)^080h,(1082)&7
	line	31
	
l9401:	
	fcall	_Out_Init
	line	33
	
l9403:	
	fcall	_SysClock_Init
	line	35
	
l9405:	
	bsf	(1087/8)^080h,(1087)&7
	
l9407:	
	bsf	(1086/8)^080h,(1086)&7
	
l9409:	
	bcf	status, 5	;RP0=0, select bank0
	bcf	(101/8),(101)&7
	
l9411:	
	bsf	status, 5	;RP0=1, select bank1
	bsf	(1125/8)^080h,(1125)&7
	
l9413:	
	movlw	(033h)
	movwf	(153)^080h	;volatile
	
l9415:	
	movlw	(090h)
	bcf	status, 5	;RP0=0, select bank0
	movwf	(24)	;volatile
	
l9417:	
	movlw	(024h)
	bsf	status, 5	;RP0=1, select bank1
	movwf	(152)^080h	;volatile
	line	37
	
l9419:	
	bsf	(94/8),(94)&7
	line	39
	
l9421:	
	bcf	status, 5	;RP0=0, select bank0
	bcf	(58/8),(58)&7
	line	41
	
l9423:	
	bsf	(95/8),(95)&7
	line	42
	
l4890:	
	return
	opt stack 0
GLOBAL	__end_of_Init_Device
	__end_of_Init_Device:
;; =============== function _Init_Device ends ============

	signat	_Init_Device,88
	global	_Out_Init
psect	text259,local,class=CODE,delta=2
global __ptext259
__ptext259:

;; *************** function _Out_Init *****************
;; Defined at:
;;		line 11 in file "outputs.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		None
;; Tracked objects:
;;		On entry : 17F/20
;;		On exit  : 17F/20
;;		Unchanged: FFE80/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          0       0       0       0       0
;;      Totals:         0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    2
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Init_Device
;; This function uses a non-reentrant model
;;
psect	text259
	file	"outputs.c"
	line	11
	global	__size_of_Out_Init
	__size_of_Out_Init	equ	__end_of_Out_Init-_Out_Init
	
_Out_Init:	
	opt	stack 4
; Regs used in _Out_Init: []
	line	12
	
l9393:	
	bcf	status, 5	;RP0=0, select bank0
	bcf	(47/8),(47)&7
	line	13
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1071/8)^080h,(1071)&7
	line	14
	bcf	status, 5	;RP0=0, select bank0
	bcf	(46/8),(46)&7
	line	15
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1070/8)^080h,(1070)&7
	line	16
	bcf	status, 5	;RP0=0, select bank0
	bcf	(56/8),(56)&7
	line	17
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1080/8)^080h,(1080)&7
	line	18
	bcf	status, 5	;RP0=0, select bank0
	bcf	(48/8),(48)&7
	line	19
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1072/8)^080h,(1072)&7
	line	20
	bcf	status, 5	;RP0=0, select bank0
	bcf	(49/8),(49)&7
	line	21
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1073/8)^080h,(1073)&7
	line	22
	bcf	status, 5	;RP0=0, select bank0
	bcf	(50/8),(50)&7
	line	23
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1074/8)^080h,(1074)&7
	line	24
	bcf	status, 5	;RP0=0, select bank0
	bcf	(51/8),(51)&7
	line	25
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1075/8)^080h,(1075)&7
	line	26
	bcf	status, 5	;RP0=0, select bank0
	bcf	(52/8),(52)&7
	line	27
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1076/8)^080h,(1076)&7
	line	28
	bcf	status, 5	;RP0=0, select bank0
	bcf	(53/8),(53)&7
	line	29
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1077/8)^080h,(1077)&7
	line	30
	bcf	status, 5	;RP0=0, select bank0
	bcf	(54/8),(54)&7
	line	31
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1078/8)^080h,(1078)&7
	line	32
	bcf	status, 5	;RP0=0, select bank0
	bcf	(55/8),(55)&7
	line	33
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1079/8)^080h,(1079)&7
	line	35
	bcf	status, 5	;RP0=0, select bank0
	bcf	(43/8),(43)&7
	line	36
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1067/8)^080h,(1067)&7
	line	38
	bcf	status, 5	;RP0=0, select bank0
	bcf	(40/8),(40)&7
	line	39
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1064/8)^080h,(1064)&7
	line	41
	bcf	status, 5	;RP0=0, select bank0
	bcf	(41/8),(41)&7
	line	42
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1065/8)^080h,(1065)&7
	line	44
	bcf	status, 5	;RP0=0, select bank0
	bcf	(42/8),(42)&7
	line	45
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1066/8)^080h,(1066)&7
	line	47
	bcf	status, 5	;RP0=0, select bank0
	bcf	(58/8),(58)&7
	line	48
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1082/8)^080h,(1082)&7
	line	50
	
l5859:	
	return
	opt stack 0
GLOBAL	__end_of_Out_Init
	__end_of_Out_Init:
;; =============== function _Out_Init ends ============

	signat	_Out_Init,88
	global	_SysClock_Init
psect	text260,local,class=CODE,delta=2
global __ptext260
__ptext260:

;; *************** function _SysClock_Init *****************
;; Defined at:
;;		line 14 in file "SysClock.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, status,2
;; Tracked objects:
;;		On entry : 17F/20
;;		On exit  : 60/20
;;		Unchanged: FFE00/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          0       0       0       0       0
;;      Totals:         0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    2
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Init_Device
;; This function uses a non-reentrant model
;;
psect	text260
	file	"SysClock.c"
	line	14
	global	__size_of_SysClock_Init
	__size_of_SysClock_Init	equ	__end_of_SysClock_Init-_SysClock_Init
	
_SysClock_Init:	
	opt	stack 4
; Regs used in _SysClock_Init: [wreg+status,2]
	line	15
	
l9383:	
# 15 "SysClock.c"
clrwdt ;#
psect	text260
	line	16
	
l9385:	
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	clrf	(1)	;volatile
	line	17
	bsf	status, 5	;RP0=1, select bank1
	clrf	(129)^080h	;volatile
	line	18
	
l9387:	
	movlw	(06h)
	movwf	(129)^080h	;volatile
	line	19
	
l9389:	
	bcf	(90/8),(90)&7
	line	20
	
l9391:	
	bsf	(93/8),(93)&7
	line	21
	
l2928:	
	return
	opt stack 0
GLOBAL	__end_of_SysClock_Init
	__end_of_SysClock_Init:
;; =============== function _SysClock_Init ends ============

	signat	_SysClock_Init,88
	global	_App
psect	text261,local,class=CODE,delta=2
global __ptext261
__ptext261:

;; *************** function _App *****************
;; Defined at:
;;		line 68 in file "App.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: FFF9F/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          0       3       0       0       0
;;      Totals:         0       3       0       0       0
;;Total ram usage:        3 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    2
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_main
;; This function uses a non-reentrant model
;;
psect	text261
	file	"App.c"
	line	68
	global	__size_of_App
	__size_of_App	equ	__end_of_App-_App
	
_App:	
	opt	stack 5
; Regs used in _App: [wreg-fsr0h+status,2+status,0+btemp+1+pclath]
	line	70
	
l9361:	
	movf	(_app_state),w
	skipz
	goto	u300
	goto	l9367
u300:
	
l9363:	
	btfss	(_Time_500ms/8),(_Time_500ms)&7
	goto	u311
	goto	u310
u311:
	goto	l9367
u310:
	line	72
	
l9365:	
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	movlw	1<<((58)&7)
	xorwf	((58)/8),f
	line	75
	
l9367:	
	btfss	(_Time_100ms/8),(_Time_100ms)&7
	goto	u321
	goto	u320
u321:
	goto	l9381
u320:
	line	77
	
l9369:	
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	incf	(_tcnt),f
	skipnz
	incf	(_tcnt+1),f
	goto	l9381
	line	82
	
l7864:	
	line	83
	clrf	(_app_state)
	incf	(_app_state),f
	line	84
	
l9371:	
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	clrf	(_tcnt)
	clrf	(_tcnt+1)
	line	85
	clrf	(_step)
	line	88
	
l9373:	
	movf	(_step),w
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	movwf	(??_App+0)+0
	clrc
	rlf	(??_App+0)+0,f
	clrc
	rlf	(??_App+0)+0,w
	addlw	low((_table-__stringbase))
	movwf	fsr0
	fcall	stringdir
	movwf	(??_App+1)+0
	fcall	stringdir
	movwf	(??_App+1)+0+1
	movf	(_tcnt+1),w
	xorwf	1+(??_App+1)+0,w
	skipz
	goto	u335
	movf	(_tcnt),w
	xorwf	0+(??_App+1)+0,w
u335:

	skipz
	goto	u331
	goto	u330
u331:
	goto	l7870
u330:
	line	91
	
l9375:	
	incf	(_step),f
	movf	((_step)),w
	xorlw	01Ah
	skipz
	goto	u341
	goto	u340
u341:
	goto	l7870
u340:
	line	93
	
l9377:	
	movlw	(02h)
	movwf	(_app_state)
	goto	l7870
	line	98
	
l7869:	
	line	99
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(58/8),(58)&7
	line	100
	goto	l7870
	line	80
	
l9381:	
	movf	(_app_state),w
	; Switch size 1, requested type "space"
; Number of cases is 3, Range of values is 0 to 2
; switch strategies available:
; Name         Instructions Cycles
; simple_byte           10     6 (average)
; direct_byte           17     8 (fixed)
; jumptable            260     6 (fixed)
; rangetable             7     6 (fixed)
; spacedrange           12     9 (fixed)
; locatedrange           3     3 (fixed)
;	Chosen strategy is simple_byte

	opt asmopt_off
	xorlw	0^0	; case 0
	skipnz
	goto	l7864
	xorlw	1^0	; case 1
	skipnz
	goto	l9373
	xorlw	2^1	; case 2
	skipnz
	goto	l7869
	goto	l7870
	opt asmopt_on

	line	102
	
l7870:	
	return
	opt stack 0
GLOBAL	__end_of_App
	__end_of_App:
;; =============== function _App ends ============

	signat	_App,88
	global	_SysTime
psect	text262,local,class=CODE,delta=2
global __ptext262
__ptext262:

;; *************** function _SysTime *****************
;; Defined at:
;;		line 24 in file "SysClock.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: FFF9F/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          0       0       0       0       0
;;      Totals:         0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    2
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_main
;; This function uses a non-reentrant model
;;
psect	text262
	file	"SysClock.c"
	line	24
	global	__size_of_SysTime
	__size_of_SysTime	equ	__end_of_SysTime-_SysTime
	
_SysTime:	
	opt	stack 5
; Regs used in _SysTime: [wreg]
	line	28
	
l9339:	
	bcf	(_Time_100ms/8),(_Time_100ms)&7
	line	29
	bcf	(_Time_500ms/8),(_Time_500ms)&7
	line	33
	btfss	(_TimeI_10ms/8),(_TimeI_10ms)&7
	goto	u251
	goto	u250
u251:
	goto	l2944
u250:
	line	35
	
l9341:	
	bcf	(_TimeI_10ms/8),(_TimeI_10ms)&7
	line	38
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	decfsz	(SysTime@Divider_100ms),f
	goto	u261
	goto	u260
u261:
	goto	l9347
u260:
	line	40
	
l9343:	
	movlw	(0Ah)
	movwf	(SysTime@Divider_100ms)
	line	41
	
l9345:	
	bsf	(_Time_100ms/8),(_Time_100ms)&7
	line	44
	
l9347:	
	decfsz	(SysTime@Divider_500ms),f
	goto	u271
	goto	u270
u271:
	goto	l2944
u270:
	line	46
	
l9349:	
	movlw	(032h)
	movwf	(SysTime@Divider_500ms)
	line	47
	
l9351:	
	bsf	(_Time_500ms/8),(_Time_500ms)&7
	line	48
	
l9353:	
	decfsz	(SysTime@Divider_1Sec),f
	goto	u281
	goto	u280
u281:
	goto	l2944
u280:
	line	50
	
l9355:	
	movlw	(02h)
	movwf	(SysTime@Divider_1Sec)
	line	52
	
l9357:	
	decfsz	(SysTime@Divider_5Sec),f
	goto	u291
	goto	u290
u291:
	goto	l2941
u290:
	line	54
	
l9359:	
	movlw	(05h)
	movwf	(SysTime@Divider_5Sec)
	goto	l2944
	line	58
	
l2941:	
	line	60
	
l2944:	
	return
	opt stack 0
GLOBAL	__end_of_SysTime
	__end_of_SysTime:
;; =============== function _SysTime ends ============

	signat	_SysTime,88
	global	_ISR
psect	text263,local,class=CODE,delta=2
global __ptext263
__ptext263:

;; *************** function _ISR *****************
;; Defined at:
;;		line 13 in file "Interrupt.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, btemp+1, pclath, cstack
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 60/0
;;		Unchanged: FFE9F/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          4       0       0       0       0
;;      Totals:         4       0       0       0       0
;;Total ram usage:        4 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    1
;; This function calls:
;;		_UART_Receiver
;; This function is called by:
;;		Interrupt level 1
;; This function uses a non-reentrant model
;;
psect	text263
	file	"Interrupt.c"
	line	13
	global	__size_of_ISR
	__size_of_ISR	equ	__end_of_ISR-_ISR
	
_ISR:	
	opt	stack 4
; Regs used in _ISR: [allreg]
psect	intentry,class=CODE,delta=2
global __pintentry
__pintentry:
global interrupt_function
interrupt_function:
	global saved_w
	saved_w	set	btemp+0
	movwf	saved_w
	swapf	status,w
	movwf	(??_ISR+0)
	movf	fsr0,w
	movwf	(??_ISR+1)
	movf	pclath,w
	movwf	(??_ISR+2)
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	movf	btemp+1,w
	movwf	(??_ISR+3)
	ljmp	_ISR
psect	text263
	line	14
	
i1l9223:	
	btfss	(90/8),(90)&7
	goto	u11_21
	goto	u11_20
u11_21:
	goto	i1l9231
u11_20:
	line	16
	
i1l9225:	
	movlw	(064h)
	movwf	(1)	;volatile
	line	17
	
i1l9227:	
	bsf	(_TimeI_10ms/8),(_TimeI_10ms)&7
	line	18
	
i1l9229:	
	bcf	(90/8),(90)&7
	line	21
	
i1l9231:	
	btfss	(101/8),(101)&7
	goto	u12_21
	goto	u12_20
u12_21:
	goto	i1l3917
u12_20:
	line	23
	
i1l9233:	
	fcall	_UART_Receiver
	line	28
	
i1l9235:	
	bcf	(101/8),(101)&7
	line	38
	
i1l3917:	
	movf	(??_ISR+3),w
	movwf	btemp+1
	movf	(??_ISR+2),w
	movwf	pclath
	movf	(??_ISR+1),w
	movwf	fsr0
	swapf	(??_ISR+0)^0FFFFFF80h,w
	movwf	status
	swapf	saved_w,f
	swapf	saved_w,w
	retfie
	opt stack 0
GLOBAL	__end_of_ISR
	__end_of_ISR:
;; =============== function _ISR ends ============

	signat	_ISR,88
	global	_UART_Receiver
psect	text264,local,class=CODE,delta=2
global __ptext264
__ptext264:

;; *************** function _UART_Receiver *****************
;; Defined at:
;;		line 52 in file "UART.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;  Rec_Byte        1    0[COMMON] unsigned char 
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, fsr0l, fsr0h, status,2, status,0
;; Tracked objects:
;;		On entry : 60/0
;;		On exit  : 160/0
;;		Unchanged: FFE9F/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         1       0       0       0       0
;;      Temps:          0       0       0       0       0
;;      Totals:         1       0       0       0       0
;;Total ram usage:        1 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_ISR
;; This function uses a non-reentrant model
;;
psect	text264
	file	"UART.c"
	line	52
	global	__size_of_UART_Receiver
	__size_of_UART_Receiver	equ	__end_of_UART_Receiver-_UART_Receiver
	
_UART_Receiver:	
	opt	stack 4
; Regs used in _UART_Receiver: [wreg-fsr0h+status,2+status,0]
	line	53
	
i1l9237:	
	movf	(26),w	;volatile
	movwf	(UART_Receiver@Rec_Byte)
	line	55
	
i1l9239:	
	movf	(_pUART_Receive_Buffer),w
	addlw	_UART_Receive_Buffer&0ffh
	movwf	fsr0
	movf	(UART_Receiver@Rec_Byte),w
	bcf	status, 7	;select IRP bank0
	movwf	indf
	
i1l9241:	
	incf	(_pUART_Receive_Buffer),f
	line	56
	
i1l9243:	
	movlw	(01Fh)
	andwf	(_pUART_Receive_Buffer),f
	line	58
	
i1l9245:	
	movf	(UART_Receiver@Rec_Byte),w
	xorlw	0Dh
	skipz
	goto	u13_21
	goto	u13_20
u13_21:
	goto	i1l6880
u13_20:
	line	60
	
i1l9247:	
	movf	(_pUART_Receive_Buffer),w
	skipz
	goto	u14_20
	goto	i1l6880
u14_20:
	line	62
	
i1l9249:	
	movf	(_pUART_Receive_Buffer),w
	addlw	_UART_Receive_Buffer&0ffh
	movwf	fsr0
	clrf	indf
	line	63
	
i1l9251:	
	clrf	(_pUART_Receive_Buffer)
	line	64
	
i1l9253:	
	bsf	(_UART_Receive_Complete/8),(_UART_Receive_Complete)&7
	line	67
	
i1l6880:	
	return
	opt stack 0
GLOBAL	__end_of_UART_Receiver
	__end_of_UART_Receiver:
;; =============== function _UART_Receiver ends ============

	signat	_UART_Receiver,88
psect	text265,local,class=CODE,delta=2
global __ptext265
__ptext265:
	global	btemp
	btemp set 07Eh

	DABS	1,126,2	;btemp
	global	wtemp0
	wtemp0 set btemp
	end
